<?php

class ctl_dashboard extends adminPage
{

    function ctl_dashboard()
    {
        parent::adminPage();
        $system = &$GLOBALS['system'];
        $system->__session_close(false);
    }


    function getcertInfo()
    {
        $cert = &$this->system->loadModel('service/certificate');
        echo $cert->getInfo();
    }

    function index()
    {
        $this->getinfo();
    }

    function templete()
    {
        $templete = $this->runTemplete();
        foreach ($templete as $k => $v) {
            if ($templete[$k] != md5(file_get_contents(CORE_DIR . '/admin/view/' . base64_decode($k)))) {
                if ($k == 'aW5kZXguaHRtbA==') {
                    return base64_decode('PHNjcmlwdD5hbGVydCgi57O757uf5qOA5rWL5Yiw5qC45b+D5paH5Lu26KKr5pu05pS577yM5Y+v6IO95Lya5b2x5ZON5Yiw572R5bqX55qE5q2j5bi46L+Q6KGM77yM6K+35bC95b+r5LiOU2hvcEV45a6i5pyN6IGU57O7Iik7PC9zY3JpcHQ+');
                }
                return base64_decode('PGxpPjxiPuasoui/juS9v+eUqFNob3BFeOe9keS4iuWVhuW6l+ezu+e7nzwvYj48L2xpPg==');
            }
        }
        return false;
    }

    function getinfo()
    {
        $this->path[] = array('text' => __('桌面'));
        $this->pagedata['options'] = array('cat_id' => 1);
        $url_arr = parse_url($this->system->base_url());

        $operate = &$this->system->loadModel('admin/operator');
        $opinfo = $operate->instance($this->system->op_id, 'lastlogin');
        $this->pagedata['logintime'] = $opinfo['lastLogin'];
        $version = $this->system->version();
        $this->pagedata['templete'] = $this->templete();
        $this->pagedata['version'] = $version['app'] . "." . $version['rev'];

        $oGoodsCat = &$this->system->loadModel('goods/productCat');
        $aCat = $oGoodsCat->getExists();
        if (count($aCat) == 0) {
            $systemInfo['cat'] = true;
        }

        $oCur = &$this->system->loadModel('system/cur');
        $aCur = $oCur->curAll();
        if (!function_exists("NewMagickWand") && !function_exists("imagecreate")) {
            $systemInfo['imageneed'] = true;
        }

        if (count($aCur) == 0) {
            $systemInfo['price'] = true;
        }
        $oPay = &$this->system->loadModel('trading/payment');
        $aPay = $oPay->getMethods();
        if (count($aPay) == 0) {
            $systemInfo['pay'] = true;
        }
        $oDelivery = &$this->system->loadModel('trading/delivery');
        $aDelivery = $oDelivery->getDlTypeList();
        if (count($aDelivery) == 0) {
            $systemInfo['sender'] = true;
        }
        $aArea = $oDelivery->getDlAreaList();
        if (count($aArea) == 0) {
            $systemInfo['area'] = true;
        }

        unset($filter);
        if ($last_backup = $this->system->getConf("system.last_backup")) {
            $last_backup = intval((time() - $last_backup) / 3600 / 24);
            if ($last_backup > 30) {
                $systemInfo['backupalert'] = $last_backup;
            } else {
                $systemInfo['backupalert'] = false;
            }
        } else {
            $systemInfo['backupalert'] = false;
        }

        $this->pagedata['version'] = $this->system->version();
        $status = &$this->system->loadModel('system/status');
        $this->pagedata['affairinfo'] = $status->getList();
        $this->pagedata['affairinfo']['todaysorder'] = $status->get('ORDER_NEW', date('Y-m-d')) + 0;
        $this->pagedata['affairinfo']['yesterday_order'] = $status->get('ORDER_NEW', date("Y-m-d", strtotime("-1 day"))) + 0;

        $this->pagedata['affairinfo']['memberadd'] = $status->get('MEMBER_REG', date('Y-m-d')) + 0;
        $this->pagedata['affairinfo']['yesterday_new_member'] = $status->get('MEMBER_REG', date("Y-m-d", strtotime("-1 day"))) + 0;

        $oShopbbs = $this->system->loadModel('resources/shopbbs');
        $this->pagedata['affairinfo']['order_message'] = $oShopbbs->getNewOrderMessage();

        $oReturnData =& $this->system->loadModel('trading/return_product');
        $this->pagedata['affairinfo']['return_product'] = $oReturnData->count_return_product();
        $oProduct = $this->system->loadModel('goods/finderPdt');
        $filter_p['store_alarm'] = $this->system->getConf('system.product.alert.num');
        foreach ($oProduct->getList('goods_id', $filter_p, 0, 1000) as $row) {
            $filter['goods_id'][] = $row['goods_id'];
        }
        if (empty($filter['goods_id'])) $filter['goods_id'][] = -1;
        unset($filter_p);
        $oGoods = &$this->system->loadModel('goods/products');
        $alert_count = $oGoods->count($filter);
        $this->pagedata['affairinfo']['goods_alert'] = $alert_count ? $alert_count : '0';
        $sales = &$this->system->loadModel('utility/salescount');
        $this->pagedata['affairinfo']['yesterday_order_execution'] = $sales->count_yesterday_order();
        $member = &$this->system->loadModel('member/member');
        $this->pagedata['affairinfo']['birthday'] = $member->count(array('b_month' => date('m'), 'b_day' => date('d')));

        $day_st = date("Y-m-d", strtotime("-6 day"));
        $day_en = date("Y-m-d");
        $day_search = $sales->mdl_dosearch($day_st, $day_en, "", "", "day");
        $this->pagedata['day'] = $day_search;

        $this->pagedata['systeminfo'] = $systemInfo;
        $this->pagedata['businessinfo'] = $businessInfo;
        $server_name = $url_arr['host'];
        $path = $url_arr['path'];
        $strDesc = "|" . $server_name . "|" . phpversion() . "|" . $_SERVER["SERVER_SOFTWARE"] . "|" . $_ENV["OS"] . "|" . $path . "|2|4.8||";

        $this->pagedata['addurl'] = 'http://top.shopex.cn/promotion/promotion.php?id=' . $this->_encDesc($strDesc);

        $this->display('dashboard.html');

    }

    function _encDesc($str)
    {
        $str = base64_encode($str);
        $outstr = "";
        for ($i = 0; $i < strlen($str); $i++) {
            $outstr .= ord(substr($str, $i, 1)) + 270;
        }
        return $outstr;
    }
}

?>
